package me.yushuai.wukong.base.api.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.math.BigDecimal;

/**
 * 更新库位信息的传输对象
 *
 * @author zhoushuai@189.cn
 * @since 2022-08-31
 */
@Data
@ToString
@EqualsAndHashCode
public class UpdateLocationDTO {
    /**
     * 库位ID
     */
    private Long id;

    /**
     * 设施编号
     */
    private String facilityId;

    /**
     * 状态
     */
    private String status;

    /**
     * 库位使用
     */
    private String locationUsage;

    /**
     * 库位属性
     */
    private String locationAttribute;

    /**
     * 库位类型
     */
    private String locationCategory;

    /**
     * 库位处理
     */
    private String locationHandling;

    /**
     * 体积限制
     */
    private BigDecimal cubicCapacity;

    /**
     * 重量限制
     */
    private BigDecimal weightCapacity;

    /**
     * 数量限制
     */
    private Integer countCapacity;

    /**
     * 托盘数量限制
     */
    private Integer plCount;

    /**
     * 上架区
     */
    private Long putAwayZoneId;

    /**
     * 拣货区
     */
    private Long pickZoneId;

    /**
     * 库位组1
     */
    private Long locGroup1Id;

    /**
     * 库位组2
     */
    private Long locGroup2Id;

    /**
     * 长度
     */
    private BigDecimal length;

    /**
     * 宽度
     */
    private BigDecimal width;

    /**
     * 高度
     */
    private BigDecimal height;

    /**
     * 层数
     */
    private String locLevel;

    /**
     * 环境
     */
    private String environment;

    /**
     * 周转需求
     */
    private String demand;

    /**
     * 是否允许混放产品
     */
    private Boolean mixFlag;

    /**
     * 是否允许混放批次
     */
    private Boolean mixLotFlag;

    /**
     * 是否忽略ID
     */
    private Boolean loseIdFlag;

    /**
     * 拣货顺序
     */
    private String pickLogicalSequence;

    /**
     * X坐标
     */
    @JsonProperty("xCoord")
    private Integer xCoord;

    /**
     * Y坐标
     */
    @JsonProperty("yCoord")
    private Integer yCoord;

    /**
     * Z坐标
     */
    @JsonProperty("zCoord")
    private Integer zCoord;

    /**
     * 箱数限制
     */
    private Integer csCount;

    /**
     * X像素
     */
    @JsonProperty("xDistance")
    private Integer xDistance;

    /**
     * Y像素
     */
    @JsonProperty("yDistance")
    private Integer yDistance;

    /**
     * 校验码条码
     */
    private String validationCode;

    /**
     * 工作区域
     */
    private Long workingAreaId;

    /**
     * WCS端口号1
     */
    private String wcsAddress1;

    /**
     * WCS端口号2
     */
    private String wcsAddress2;

    /**
     * 端口号
     */
    private String terminalNo;

    /**
     * SKU限制种类
     */
    private Integer skuCount;

    /**
     * ASRS 巷道号
     */
    private String aisleNo;

}